package com.soteind.system.session;

import com.soteind.exceptions.ExceptionMessage;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;

/**
 *
 * @author Daniel Moreno
 */
public interface SoteindSession {

    public SoteindUser getCurrentUser();
    
    public boolean isAlreadyLogged();

    public EntityManager createEntityManager();

    public boolean logInSession(SoteindAuthenticator authenticator, List<ExceptionMessage> errors);

    public EntityManagerFactory getEntityManagerFactory();

    public SoteindRol getCurrenRol();
    
    public void putSesssionParam(String key, Object value);
    
    public Object getSessionParam(String key);
    
    public boolean logOutSession();
}
